/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.cf.controller;

/**
 *
 * @author Soltecn2
 */
import com.cf.dao.impl.CategoriaDao;
import com.cf.dao.impl.TbSubCategoriaDao;
import com.cf.modelo.TbCategoria;
import com.cf.modelo.TbSubcategoria;
import com.cf.modelo.TbTarea;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import javax.faces.bean.ManagedBean;
import javax.faces.component.UIOutput;
import javax.faces.context.FacesContext;
import javax.faces.event.AjaxBehaviorEvent;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

@Component("tbCategoriaController")
@Scope
@ManagedBean
public class TbCategoriaController implements Serializable {

    @Autowired
    private TbCategoria categoria;
    private List<TbCategoria> lstCategoria;
    private List<TbSubcategoria> lstSubCategoria;
    private List<TbTarea> lstTarea;
    private List<TbSubcategoria> listSubCategoria2;

    public List<TbSubcategoria> getListSubCategoria2() {
        listSubCategoria2 = TbSubCategoriaDao.listSubCategoria(categoria.getCodigo());
        return listSubCategoria2;
    }

    public void setListSubCategoria2(List<TbSubcategoria> listSubCategoria2) {
        this.listSubCategoria2 = listSubCategoria2;
    }

    public TbCategoriaController() {
        categoria = new TbCategoria();
        listSubCategoria2 = new ArrayList<TbSubcategoria>();
    }

    public void cargaListaSubCategoria(AjaxBehaviorEvent event) {

        
          FacesContext fc = FacesContext.getCurrentInstance();
        Map<String, String> params =
                fc.getExternalContext().getRequestParameterMap();
        String codigo = (params.get("codigo2"));
      
        listSubCategoria2 = TbSubCategoriaDao.listSubCategoria(Integer.parseInt(codigo));

    }

    public TbCategoria getCategoria() {
        return categoria;
    }

    public void setCategoria(TbCategoria categoria) {
        this.categoria = categoria;
    }

    public List<TbCategoria> getLstCategoria() {
        lstCategoria = CategoriaDao.listCategoria();
        return lstCategoria;
    }

    public List<TbSubcategoria> getLstSubCategoria(TbCategoria cat) {
        lstSubCategoria = CategoriaDao.listSubCategoria(cat);
        return lstSubCategoria;
    }

    public List<TbTarea> getLstTarea(TbSubcategoria scat) {
        lstTarea = CategoriaDao.listTareas(scat);
        return lstTarea;
    }

    /**
     * @param lstCategoria the lstCategoria to set
     */
    public void setLstCategoria(List<TbCategoria> lstCategoria) {
        this.lstCategoria = lstCategoria;
    }
}
